Appearance
应用:定义变量
本节目标:理解“应用:定义变量”的核心思路,并能把它用于实际开发或面试表达。
**用作变量值**
Symbol 类型还可以用于定义一组常量,保证这组常量的值都是不相等的。
const log = {};
log.levels = { DEBUG: Symbol('debug'), INFO: Symbol('info'), WARN: Symbol('warn')};console.log(log.levels.DEBUG, 'debug message');console.log(log.levels.INFO, 'info message');**用作常量值**
const COLOR_RED = Symbol();const COLOR_GREEN = Symbol();
function getComplement(color) { switch (color) { case COLOR_RED: return COLOR_GREEN; case COLOR_GREEN: return COLOR_RED; default: throw new Error('Undefined color'); }}
常量使用 Symbol 值最大的好处,就是其他任何值都不可能有相同的值了,因此可以保证上面的switch语句会按设计的方式工作。
还有一点